//交易所回购
#pragma once
#include "QBExchangeRepoBondContainer.h"
#include <core/sync/lock.h>
#include <qbmessage/include/message_bond.h>
#include <qbprotocol/include/SSFIModel.h>
#include <qbprotocol/include/SSMsgStruct.h>
#include <QString>
#include <set>

class MessageReceiver;
class FIExchRepoData {
public:
	FIExchRepoData();

	void clear();
	qb::base::Mutex& getLock() { return m_lock; };

	const std::vector<std::string>& getOrder();
	const std::list<std::string>& getFlash();
	const QBExchangeRepoBondContainer& getContainer();

	void reqData(MessageReceiver*);
	bool onReceive(int32_t funcId, const qb::SSAckMsg& msg);

private:
	std::vector<std::string> m_vctOrder;
	std::list<std::string> m_lstFlash;
	QBExchangeRepoBondContainer m_Container;

	xxMMListQuery_c	m_req;
	qb::base::Mutex m_lock;
};

